package com.zrrd.mcl.product.client;

import com.zrrd.mcl.model.product.*;
import com.zrrd.mcl.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

@FeignClient("service-product")
public interface ProductFeiginClient {


    //获取Sku信息（包括图片）
    @GetMapping("/api/product/inner/getSkuInfo/{skuId}")
    SkuInfo getSkuInfo(@PathVariable("skuId") Long skuId);

    //获取sku分类信息（包含三个分类）
    @GetMapping("/api/product/inner/getCategoryView/{category3Id}")
    BaseCategoryView getCategoryView(@PathVariable("category3Id") Long cayegory3Id);

    //获取sku价格
    @GetMapping("/api/product/inner/getSkuPrice/{skuId}")
    BigDecimal getSkuPrice(@PathVariable("skuId") Long skuId);

    //获取销售属性
    @GetMapping("/api/product/inner/getSpuSaleAttrListBySku/{spuId}/{skuId}")
    List<SpuSaleAttr> getSpuSaleAttrListBySku(@PathVariable("spuId") Long spuId,
                                              @PathVariable("skuId") Long skuId);

    @GetMapping("/api/product/inner/getSkuSaleAttrValueBySpu/{spuId}")
    Map getSpuSaleAttrListBySku(@PathVariable("spuId") Long spuId);

    //获取全部分类信息
    @GetMapping("/api/product/inner/getBaseCategoryList")
    Result getBaseCategoryList();

    //根据品牌id查询品牌
    @GetMapping("/api/product/inner/getTrademark/{tmId}")
    BaseTrademark getTrademark(@PathVariable("tmId") Long tmId);

    //根据skuId查询平台属性以及属性值
    @GetMapping("/api/product/inner/getBaseAttrInfo/{skuId}")
    List<BaseAttrInfo> getBaseAttrInfo(@PathVariable("skuId") Long skuId);

}
